---@meta

---@class component_sanity
local sanity = {}

---
---@param dt idk # 
---author: 
function sanity:Recalc(dt)
end

---
---@param mode idk # 
---author: 
function sanity:SetSanityMode(mode)
end

---
---@param immunity idk # 
---author: 
function sanity:SetLightDrainImmune(immunity)
end

---
---@param tag idk # 
---author: 
function sanity:AddSanityAuraImmunity(tag)
end

---
---@param amount idk # 
---author: 
function sanity:SetMax(amount)
end

---
---@param dt idk # 
---author: 
function sanity:OnUpdate(dt)
end

---
---author: 
function sanity:IsEnlightened()
end

---
---author: 
function sanity:GetSanityMode()
end

---
---author: 
function sanity:GetPenaltyPercent()
end

---
---@param data idk # 
---author: 
function sanity:OnLoad(data)
end

---
---@param tag idk # 
---author: 
function sanity:RemoveSanityAuraImmunity(tag)
end

---
---author: 
function sanity:GetRealPercent()
end

---
---author: 
function sanity:IsLunacyMode()
end

---
---author: 
function sanity:RecalculatePenalty()
end

---
---@param per idk # 
---@param overtime idk # 
---author: 
function sanity:SetPercent(per,overtime)
end

---
---@param immunity idk # 
---author: 
function sanity:SetNegativeAuraImmunity(immunity)
end

---
---@param key idk # 
---author: 
function sanity:RemoveSanityPenalty(key)
end

---
---author: 
function sanity:GetPercentWithPenalty()
end

---
---author: 
function sanity:IsInsane()
end

---
---author: 
function sanity:IsInsanityMode()
end

---
---@param key idk # 
---@param mod idk # 
---author: 
function sanity:AddSanityPenalty(key,mod)
end

---
---@param newinst idk # 
---author: 
function sanity:TransferComponent(newinst)
end

---
---author: 
function sanity:GetAuraMultipliers()
end

---
---author: 
function sanity:RecalcGhostDrain()
end

---
---@param delta idk # 
---@param overtime idk # 
---author: 
function sanity:DoDelta(delta,overtime)
end

---
---author: 
function sanity:GetDebugString()
end

---
---@param immunity idk # 
---author: 
function sanity:SetFullAuraImmunity(immunity)
end

---
---@param src idk # 
---@param val idk # 
---author: 
function sanity:SetInducedInsanity(src,val)
end

---
---@param enable idk # 
---@param source idk # 
---author: 
function sanity:EnableLunacy(enable,source)
end

---
---author: 
function sanity:GetRateScale()
end

---
---author: 
function sanity:GetMaxWithPenalty()
end

---
---author: 
function sanity:GetPercent()
end

---
---author: 
function sanity:OnSave()
end

---
---author: 
function sanity:IsSane()
end

---
---@param immunity idk # 
---author: 
function sanity:SetPlayerGhostImmunity(immunity)
end

---
---author: 
function sanity:IsCrazy()
end

